/*
 * Copyright 2004-2005 asoft
 * 本软件及其所有拷贝的名称，与光盘上或本软件中注明的公司同在。
 * 本软件及文档享有版权，并受国家版权法及国际协约条款的保护。
 * 您不可以从本软件中去掉其版权声明；并保证为本软件的拷贝（本部或部分）* 复制版权声明。
 * 您同意制止以任何形式非法拷贝本软件及文档。
 * 版权信息参见：
 *      http://www.asoft.cn/licenses
 */

package com.asoft.common.templet;

import javax.servlet.http.HttpServletRequest;

import org.apache.log4j.Logger;
import org.testng.Assert;

import com.asoft.common.util.mvc.valid.UserValidator;
import com.asoft.common.util.mvc.valid.ValidatedResult;

/**
 * 校验类单元测试用例模板
 *
 * @author amonlei
 *
 */

public abstract class ValidateClassTestCaseTemplet extends ValidateScriptTestCaseTemplet
{
        static Logger logger = Logger.getLogger(ValidateClassTestCaseTemplet.class);
        
        // 取的校验类实例
        public UserValidator getValidClassInst(Class cls)
        {
                UserValidator userValidator = null;
                try
                {
                        userValidator = (UserValidator)cls.newInstance();
                }
                catch (Exception e)
                {
                        Assert.fail("实例化自定义校验类(" + cls.getName() + ")失败");
                } 
                this.initApplicationContext();
                userValidator.setApplicationContext(this.getApplicationContext());
                return userValidator;
                
        }
        
        public ValidatedResult runValid(HttpServletRequest request,UserValidator userValidator)
        {
                ValidatedResult vr = new ValidatedResult();
                userValidator.validing(request, vr, new String[0]);
                return vr;
        }
}
